
#ifndef COOPERATORDAO_MOCK_H
#define COOPERATORDAO_MOCK_H

#include <stdint.h>
#include <string>
#include "app_platform/cntl_info.h"

#include "b2b2c/cooperator/ddo/cooperatorproddo_cooperator.h"	
#include "b2b2c/cooperator/ddo/cooperatorsubproddo_cooperator.h"	
#include "b2b2c/cooperator/ddo/cooperatorsetddo_cooperator.h"	
#include "b2b2c/cooperator/ddo/cooperatorsubaccountddo_cooperator.h"	
#include <set>	
#include "b2b2c/cooperator/ddo/cooperatorbaseinfoddo_cooperator.h"	
#include <vector>	
#include "b2b2c/cooperator/ddo/cooperatorlicenseddo_cooperator.h"	
#include "b2b2c/cooperator/ddo/cooperatormonitormodelddo_cooperator.h"	
#include "intf_cooperatordao.h"


namespace b2b2c
{
namespace cooperator
{
namespace dao
{

	class CCooperatorDaoMock : public ICooperatorDao{
	public:
	    virtual uint32_t CheckCooperatorPassWd(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint64_t cooperatorId,
				const std::string& cooperatorPassword,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t DeleteCooperatorMonitorModel(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t cooperatorId,
				uint32_t modelId,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetCooperatorBaseInfo(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint64_t cooperatorId,
				const std::string& inReserve,
				std::string& errmsg,
				b2b2c::cooperator::ddo::CCooperatorBaseInfoDdo& cooperatorBaseInfoDdo,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			cooperatorBaseInfoDdo = m_cooperatorBaseInfoDdo;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetCooperatorKey(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint64_t cooperatorId,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& sCooperatorKey,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			sCooperatorKey = m_sCooperatorKey;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetCooperatorLicense(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint64_t cooperatorId,
				const std::set<uint8_t >& licenseType,
				const std::string& inReserve,
				std::string& errmsg,
				std::vector<b2b2c::cooperator::ddo::CCooperatorLicenseDdo >& cooperatorLicenseDdo,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			cooperatorLicenseDdo = m_cooperatorLicenseDdo;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetCooperatorMonitorModel(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t cooperatorId,
				uint32_t modelId,
				const std::string& inReserve,
				std::string& errmsg,
				b2b2c::cooperator::ddo::CCooperatorMonitorModelDdo& CooperatorMonitorModelDdo,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			CooperatorMonitorModelDdo = m_CooperatorMonitorModelDdo;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetCooperatorMonitorModelList(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t cooperatorId,
				const std::string& inReserve,
				std::string& errmsg,
				std::vector<b2b2c::cooperator::ddo::CCooperatorMonitorModelDdo >& CooperatorMonitorModelDdo,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			CooperatorMonitorModelDdo = m_CooperatorMonitorModelDdo;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t SetCooperatorInfo(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint64_t option,
				const b2b2c::cooperator::ddo::CCooperatorSetDdo& cooperatorSetDdo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t SetCooperatorPassWd(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint64_t cooperatorId,
				const std::string& cooperatorOldPassword,
				const std::string& cooperatorNewPassword,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t SetCooperatorPro(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint64_t option,
				const b2b2c::cooperator::ddo::CCooperatorProDdo& cooperatorProDdo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t UpdateCooperatorBaseInfo(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const b2b2c::cooperator::ddo::CCooperatorBaseInfoDdo& cooperatorBaseInfoDdo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t UpdateCooperatorLicense(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const b2b2c::cooperator::ddo::CCooperatorLicenseDdo& cooperatorLicenseDdo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t UpdateCooperatorMonitorModel(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const b2b2c::cooperator::ddo::CCooperatorMonitorModelDdo& CooperatorMonitorModelDdo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	
   public:
			std::string m_errmsg;
			std::string m_outReserve;
			b2b2c::cooperator::ddo::CooperatorBaseInfoDdo m_cooperatorBaseInfoDdo;
			std::string m_sCooperatorKey;
			std::vector<b2b2c::cooperator::ddo::CooperatorLicenseDdo > m_cooperatorLicenseDdo;
			b2b2c::cooperator::ddo::CooperatorMonitorModelDdo m_CooperatorMonitorModelDdo;
			std::vector<b2b2c::cooperator::ddo::CooperatorMonitorModelDdo > m_CooperatorMonitorModelDdo;
	};
	
}
}
}

#endif /* COOPERATORDAO_MOCK_H */

